home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / U-User Group / (k)u9.d64 / plotter.procs < prev    next >
Text File  |  2007-02-28  |  3KB  |  159 lines

  1. 9000 //
  2. 9001 // OPEN FILE TO PRINT
  3. 9002 //
  4. 9003 PROC PRTOPEN CLOSED
  5. 9004 OPEN FILE 21,"",UNIT 6,1,WRITE
  6. 9005 ENDPROC 
  7. 9006 //
  8. 9007 // OPEN FILE TO PLOT
  9. 9008 //
  10. 9009 PROC PLOPEN CLOSED
  11. 9010 OPEN FILE 21,"",UNIT 6,1,WRITE
  12. 9011 ENDPROC 
  13. 9012 //
  14. 9013 //
  15. 9014 // SET COLOURS
  16. 9015 //
  17. 9016 PROC BLACK CLOSED
  18. 9017 CONTROL(22,"0")
  19. 9018 ENDPROC BLACK
  20. 9019 //
  21. 9020 PROC BLUE CLOSED
  22. 9021 CONTROL(22,"1")
  23. 9022 ENDPROC BLUE
  24. 9023 //
  25. 9024 PROC GREEN CLOSED
  26. 9025 CONTROL(22,"2")
  27. 9026 ENDPROC GREEN
  28. 9027 //
  29. 9028 PROC RED CLOSED
  30. 9029 CONTROL(22,"3")
  31. 9030 ENDPROC RED
  32. 9031 //
  33. 9032 // SET CHARACTER SIZE
  34. 9033 //
  35. 9034 PROC EIGHTY CLOSED
  36. 9035 CONTROL(23,"0")
  37. 9036 ENDPROC EIGHTY
  38. 9037 //
  39. 9038 PROC FORTY CLOSED
  40. 9039 CONTROL(23,"1")
  41. 9040 ENDPROC FORTY
  42. 9041 //
  43. 9042 PROC TWENTY CLOSED
  44. 9043 CONTROL(23,"2")
  45. 9044 ENDPROC TWENTY
  46. 9045 //
  47. 9046 PROC TEN CLOSED
  48. 9047 CONTROL(23,"3")
  49. 9048 ENDPROC TEN
  50. 9049 //
  51. 9050 // SET ROTATION
  52. 9051 //
  53. 9052 PROC NORMAL CLOSED
  54. 9053 CONTROL(24,"0")
  55. 9054 ENDPROC NORMAL
  56. 9055 //
  57. 9056 PROC ROTATE CLOSED
  58. 9057 CONTROL(24,"1")
  59. 9058 ENDPROC ROTATE
  60. 9059 //
  61. 9060 //  SELECT BROKEN LINE
  62. 9061 //
  63. 9062 PROC BROKEN(A) CLOSED
  64. 9063 CONTROL(25,CHR$((A)+48))
  65. 9064 ENDPROC BROKEN
  66. 9065 //
  67. 9066 // SELECT UPPER OR LOWER CASE
  68. 9067 //
  69. 9068 PROC UPPER CLOSED
  70. 9069 CONTROL(26,"1")
  71. 9070 ENDPROC UPPER
  72. 9071 //
  73. 9072 PROC LOWER CLOSED
  74. 9073 CONTROL(26,"0")
  75. 9074 ENDPROC LOWER
  76. 9075 //
  77. 9076 // RESET PLOTTER
  78. 9077 //
  79. 9078 PROC RESET CLOSED
  80. 9079 OPEN FILE 27,"",UNIT 6,7,WRITE
  81. 9080 PRINT FILE 27: ""+CHR$(13),
  82. 9081 CLOSE FILE 27
  83. 9082 ENDPROC RESET
  84. 9083 //
  85. 9084 // PLOTTER CONTROL MODULE
  86. 9085 //
  87. 9086 PROC CONTROL(FILE',D$) CLOSED
  88. 9087 Z:=ZONE
  89. 9088 ZONE (0)
  90. 9089 OPEN FILE FILE',"",UNIT 6,(FILE' MOD 20),WRITE
  91. 9090 PRINT FILE FILE': D$+CHR$(13),
  92. 9091 CLOSE FILE FILE'
  93. 9092 ZONE (Z)
  94. 9093 ENDPROC CONTROL
  95. 9094 //
  96. 9095 // DRAW TO POINT X,Y
  97. 9096 //
  98. 9097 PROC DRAW(X,Y) CLOSED
  99. 9098 DIM X1$ OF 5, Y1$ OF 5, D$ OF 20
  100. 9099 STR(X,X1$)
  101. 9100 STR(Y,Y1$)
  102. 9101 D$:="J "+X1$+" "+Y1$+""+CHR$(13)
  103. 9102 PRINT FILE 21: D$,
  104. 9103 ENDPROC DRAW
  105. 9104 //
  106. 9105 // MOVE TO X,Y (PEN UP)
  107. 9106 //
  108. 9107 PROC MOVE(X,Y) CLOSED
  109. 9108 DIM X1$ OF 5, Y1$ OF 5, D$ OF 15
  110. 9109 STR(X,X1$)
  111. 9110 STR(Y,Y1$)
  112. 9111 D$:="R "+X1$+" "+Y1$+""+CHR$(13)
  113. 9112 PRINT FILE 21: D$,
  114. 9113 ENDPROC MOVE
  115. 9114 //
  116. 9115 //
  117. 9116 // RETURNS STRING REPRESENTATION
  118. 9117 // OF NUMERIC VARIABLE IN 'NUM'
  119. 9118 // STRING RETURNED IN 'REF A$'
  120. 9119 // USAGE: STRING(NUM,REF A$)
  121. 9120 // HANDLES ONLY INTEGERS (+ OR -)
  122. 9121 //
  123. 9122 PROC STR(NUM,REF A$) CLOSED
  124. 9123 SN:=SGN(NUM)
  125. 9124 NUM:=ABS(NUM)
  126. 9125 A$:="0"
  127. 9126 TEST:=100000000; SUB:=1
  128. 9127 REPEAT 
  129. 9128 IF TEST>0 THEN
  130. 9129 DIGIT:=NUM DIV TEST
  131. 9130 NUM:=NUM MOD TEST
  132. 9131 TEST:=TEST/10
  133. 9132 ENDIF 
  134. 9133 UNTIL DIGIT<>0 OR TEST<1
  135. 9134 // DIGIT CONTAINS FIRST DIGIT
  136. 9135 // NUM IS READY TO CHECK AGAIN
  137. 9136 WHILE TEST>.01 DO
  138. 9137 A$(SUB):=CHR$(DIGIT+ORD("0"))
  139. 9138 SUB:+1
  140. 9139 DIGIT:=NUM DIV TEST
  141. 9140 NUM:=NUM MOD TEST
  142. 9141 TEST:=TEST/10
  143. 9142 ENDWHILE 
  144. 9143 IF SN=-1 THEN A$:="-"+A$
  145. 9144 ENDPROC STR
  146. 9145 //
  147. 9146 // SET NEW ORIGIN
  148. 9147 //
  149. 9148 PROC ORIGIN CLOSED
  150. 9149 PRINT FILE 21: "I"
  151. 9150 ENDPROC ORIGIN
  152. 9151 //
  153. 9152 // HOME PLOTTER
  154. 9153 //
  155. 9154 PROC HOME' CLOSED
  156. 9155 PRINT FILE 21: "H"
  157. 9156 ENDPROC HOME'
  158. 9157 //
  159.